package com.qding.park.manager.facade.core.service.common;

import com.qding.park.common.core.exceptions.BaseException;
import com.qding.park.common.core.exceptions.business.manager.service.ServiceCoreException;
import com.qding.park.manager.common.pojo.ParkDataResult;
import com.qding.park.manager.facade.core.service.entity.ParkStatu;
import com.qding.park.manager.pojo.TbParkspace;

/**
 * @ClassName ParkCommonFacade
 * @Description TODO(车场信息  公共  service层)
 * @author LeiYang
 * @Date 2017年5月5日 下午3:55:04
 * @version 1.0.0
 */
public interface ParkCommonFacade {
    
    /**
     * @Description (查询车场基本信息)
     * @param parkId 车场id
     * @return
     */
    TbParkspace getParkInfoByParkId(int parkId);
    
    
    
    /**
     * @param tel  手机号
     * @param bjuserid  北京用户id
     * @param bjprojectId 北京项目编号
     * @return
     * @throws BaseException
     * 获取用户  的车场列表
     */
    ParkDataResult listall(String tel,String bjuserid,String bjprojectId) throws BaseException;
    
    /**
     * @Description (查询车场预定规则信息)
     * @param parkId  车场id
     * @return
     */
    ParkDataResult getParkBookRules(int parkId) throws ServiceCoreException;
    
    
    /**
     * @Description (TODO根据车场id 查询车场计费规则)
     * @param parkId
     * @return
     * @throws ServiceCoreException
     */
    ParkDataResult getRuleByParkId(int parkId) throws ServiceCoreException ;
    
    /**
     * @Description (查询用户名下所有车场)
     * @param userId  北京用户id
     * @param phone  手机号
     * @return
     * @throws ParkManagerCoreServerException
     */
    ParkDataResult getParkings(String userId,long phone,String projectId) throws BaseException;
    
    /**
     * @Description (TODO查询车场状态)
     * @param supplierId  厂商编号
     * @param parkCode    车场编号
     * @return
     */
    ParkStatu getParkStatus(int supplierId, Integer parkId);
    
    /**
     * @Description (TODO查询车场状态)
     * @param parkId
     * @return
     */
    ParkStatu getParkStatus(int parkId);

}
